/* Used to make sure files are only brought in once */
#ifndef COMMON_H
#define COMMON_H

#include "Vec3f.h"
#include "Textures.h"

class Time
{
public:
   static long getTickCount();
};

class Force
{
public:
   Force();
   Force(double, double);
   Vec3f getDirection();
   double getVelocity();
   double getAngle();
   double operator[] (unsigned index) const;
   Force operator* (double value) const;
   Force operator* (Force force) const;
protected:
   Vec3f direction;
   double velocity;
   double angle;
};

class Config
{
public:
   static double getRoomWidth();
   static double getRoomDepth();
   static double getRoomHeight();
   static double getTableLift();
   static double getTableWidth();
   static double getTableDepth();
   static double getTableHeight();
   static double getTableSlidingFriction();
   static double getTableRollingFriction();
   static double getBallDiameter();
   static double getBallMass();
   static double getStickLength();
   static double getStickTipDiameter();
   static double getStickEndDiameter();
   static double getMaxSceneHeight();
   static double getSidePocketRadius();
   static double getCornerPocketRadius();
   static Textures* getTextures();
protected:
   static Textures* textures;
};

#endif


